3.3 - Linux下实现进程守护
Linux下实现进程守护的详细实现步骤 (仅建议资深Linux玩家操作)
以下两种方式可任选其一 (建议选择一):
一、Supervisor
首先安装supervisor
,已安装的可以跳过。
# 安装 supervisor
yum install python-setuptools supervisor -y //Centos使用
apt install python-setuptools supervisor -y //Ubuntu、Debian使用
# 初始化全局配置文件
touch /etc/supervisord.conf
echo_supervisord_conf > /etc/supervisord.conf
编辑全局配置文件:
vi /etc/supervisord.conf
将文件底部的[include]
分区注释符号;
删除,加入新的配置文件包含路径:
[include]
files = /etc/supervisor/conf/*.conf
创建 GoMinerProxy 应用配置所在文件目录,并创建打开配置文件:
mkdir -p /etc/supervisor/conf
vi /etc/supervisor/conf/gominerproxy.conf
根据实际情况填写以下内容并保存:
[program:gominerproxy]
directory=/root/go_miner_proxy
command=/root/go_miner_proxy/GoMinerProxy
autostart=true
autorestart=true
stderr_logfile=/root/go_miner_proxy/log/gominerproxy.err
stdout_logfile=/root/go_miner_proxy/log/gominerproxy.log
environment=CODENATION_ENV=prod
其中以下配置项需要根据实际情况更改:
directory
: GoMinerProxy主程式所在目录command
: GoMinerProxy主程式绝对路径stderr_logfile
: 错误日志路径stdout_logfile
: 通常日志路径
通过全局配置文件启动supervisor:
supervisord -c /etc/supervisord.conf
日后你可以通过以下指令管理 GoMinerProxy进程:
# 启动
supervisorctl start gominerproxy
# 停止
supervisorctl stop gominerproxy
# 查看状态
supervisorctl status gominerproxy
二、Systemd
# 编辑配置文件
vi /usr/lib/systemd/system/gominerproxy.service
将文件中PATH_TO_GOMINERPROXY
更换为程式所在目录:
[Unit]
Description=gominerproxy
Documentation=https://github.com/GoMinerProxy/GoMinerProxy/
After=network.target
[Service]
WorkingDirectory=/PATH_TO_GOMINERPROXY
ExecStart=/PATH_TO_GOMINERPROXY/gominerproxy
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
使用如下指令操控服务
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start gominerproxy
# 设置开机启动
systemctl enable gominerproxy